// Namespace instruction

#include <iostream>

//		---------------------------------------------
//		|                    |                      |
//		|                    |                      |
//		|                    |  ns::g_value         |
//		|                    |                      |
//		|                    |  int g_value = 0     |
//		|                    |                      |
//		|                    |                      |
//		|                    |                      |
//		|                    |                      |
//		|                    |                      |
//		|                    |                      |
//		|                    |                      |
//		|                    |                      |
//		|                    |                      |
//		|                    |                      |
//		---------------------------------------------
//		    Definition list        Visual table

// The compiler prioritizes defining tables to find variables

namespace ns {
	int g_value = 0;
}

// This will be ambigous
int g_value = 0; 	// err
using namespace ns; 	// The content of ns can be visible from this line

int main( void ){
	g_value = 8888; // err 
			// ambigous

	std::cout << "ns::g_value = " << ns::g_value << std::endl;

	return 0;
}




